home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / POLIN2.DEM < prev    next >
Text File  |  1991-04-29  |  1KB  |  45 lines

  1. PROGRAM d3r9 (input,output);
  2. (* driver for routine POLIN2 *)
  3. CONST
  4.    n=5;
  5.    pi=3.1415926;
  6. TYPE
  7.    glmarray = ARRAY [1..n] OF real;
  8.    glnarray = glmarray;
  9.    glmbyn = ARRAY [1..n,1..n] OF real;
  10. VAR
  11.    i,j : integer;
  12.    dy,f,x1,x2,y : real;
  13.    x1a,x2a : glmarray;
  14.    ya : glmbyn;
  15.  
  16. (*$I MODFILE.PAS *)
  17. (*$I POLINT.PAS *)
  18.  
  19. (*$I POLIN2.PAS *)
  20.  
  21. BEGIN
  22.    FOR i := 1 to n DO BEGIN
  23.       x1a[i] := i*pi/n;
  24.       FOR j := 1 to n DO BEGIN
  25.          x2a[j] := 1.0*j/n;
  26.          ya[i,j] := sin(x1a[i])*exp(x2a[j])
  27.       END
  28.    END;
  29. (* test 2-dimensional interpolation *)
  30.    writeln;
  31.    writeln ('Two dimensional interpolation of sin(x1)exp(x2)');
  32.    writeln;
  33.    writeln ('x1':9,'x2':12,'f(x)':13,'interpolated':16,'error':11);
  34.    FOR i := 1 to 4 DO BEGIN
  35.       x1 := (-0.1+i/5.0)*pi;
  36.       FOR j := 1 to 4 DO BEGIN
  37.          x2 := -0.1+j/5.0;
  38.          f := sin(x1)*exp(x2);
  39.          polin2(x1a,x2a,ya,n,n,x1,x2,y,dy);
  40.          writeln (x1:12:6,x2:12:6,f:12:6,y:12:6,dy:15:6)
  41.       END;
  42.       writeln ('***********************************');
  43.    END
  44. END.
  45.